package models

import (
	"time"

	"gorm.io/gorm"
)

// Meta 元数据模型 - 对应Typecho的metas表
type Meta struct {
	ID        uint           `gorm:"primaryKey;column:mid" json:"id"`
	Name      string         `gorm:"size:200;not null" json:"name"`           // 名称
	Slug      string         `gorm:"size:200;not null;uniqueIndex" json:"slug"` // 缩略名
	Type      string         `gorm:"size:32;not null;index" json:"type"`      // 类型，category或tag
	Description string        `gorm:"size:200" json:"description"`             // 描述
	Count     int            `gorm:"default:0" json:"count"`                  // 计数
	Order     int            `gorm:"column:order;default:0" json:"order"`     // 排序
	Parent    int            `gorm:"default:0" json:"parent"`                 // 父级
	
	// 多态关联
	TargetType string         `gorm:"size:20" json:"target_type"`
	TargetID   uint           `json:"target_id"`
	
	// 辅助字段
	CreatedAt  time.Time      `json:"created_at"`
	UpdatedAt  time.Time      `json:"updated_at"`
	DeletedAt  gorm.DeletedAt `gorm:"index" json:"-"`
}